www.gusucode.com > 有监督的 CNN 网络完成对MNIST 数字的识别 > 有监督的 CNN 网络完成对MNIST 数字的识别/CNN—卷积神经网络数字识别/preproc_data.m

    function [pd,labnew] = preproc_data(id,n,labels,rand_on)
% preproc_data 预处理MNIST 手写数字图像数据库。
%
%语法
%
%[pd,labnew]= preproc_data(id,n,labels,rand_on)
%
%描述
%输入:
% id - 28 x28图像大小的单元阵列
% n -图像处理的数量
% -单元阵列的标签,标签对应于图像
% rand_on——参数,如果有必要定义随机选择一个对图像/标签
%输出:
% pd -单元阵列的图像处理与0平均,1标准
%偏差和增加大小(从28x28为32 x32 )
% labnew -单元阵列的标签,对应的图像

for k=1:n

    if(rand_on==1)        
        rand_num = ceil(rand(1,1)*length(id));
    else
        rand_num = k;
    end
    labnew(k) = labels(rand_num);
    randd{k} = zeros(32,32);
    randd{k}(3:30,3:30)=double(id{rand_num});
    %pd{k} = reshape(mapstd(reshape(randd{k},1,[])),32,32);
    gain = 1./ std(randd{k}(:));
    pd{k} = (randd{k} - mean(randd{k}(:))).*gain;        
end